package com.jhsw.roadsun.module.business.dal.dataobject.expressage;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jhsw.roadsun.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 寄件信息 DO
 *
 * @author Ysugar
 */
@TableName("business_expressage")
@KeySequence("business_expressage_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExpressageDO extends BaseDO {

    /**
     * 寄件ID
     */
    @TableId
    private Long id;
    /**
     * 单号
     */
    private String orderNo;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 收件国家
     */
    private String country;
    /**
     * 运输方式
     */
    private String shippingType;
    /**
     * 是否报关（0否 1是）
     */
    private Boolean customsFiling;
    /**
     * 寄件人姓名
     */
    private String sendName;
    /**
     * 寄件人手机号
     */
    private String sendMobile;
    /**
     * 寄件人详细地址
     */
    private String sendAddress;
    /**
     * 寄件人公司名称
     */
    private String sendCompany;
    /**
     * 寄件人所属部门
     */
    private String sendDept;
    /**
     * 收件人姓名
     */
    private String recipientsName;
    /**
     * 收件人手机号
     */
    private String recipientsMobile;
    /**
     * 收件人详细地址
     */
    private String recipientsAddress;
    /**
     * 收件人公司名称
     */
    private String recipientsCompany;
    /**
     * 收件人所属部门
     */
    private String recipientsDept;
    /**
     * 付款方式（0寄付 1到付 2第三方结款）（字典：business_expressage_pay_method）
     */
    private Integer payMethod;
    /**
     * 客户账号
     */
    private String customerAccount;
    /**
     * 发票号
     */
    private String invoiceNum;
    /**
     * 快递单号
     */
    private String expressageOrder;
    /**
     * 审核状态（0未处理 1已出单 2已取消）（字典：business_expressage_audit_status）
     */
    private Integer auditStatus;
    /**
     * 审核时间
     */
    private LocalDateTime auditDatetime;
    /**
     * 审核人ID
     */
    private Long auditAdminUserId;
    /**
     * 发票Pdf
     */
    private String invoicePdf;
    /**
     * 发票Excel
     */
    private String invoiceExcel;
    /**
     * 面单Pdf
     */
    private String waybillPdf;
}
